Flow tools
A tool of type Flow runs a flow to completion instead of making an HTTP request. This is useful for complex workflows — for example, calling several API endpoints one after another and combining their results.
Configuration
Create the tool as usual (see Create a customer-defined tool), set Type to Flow on the General tab, and pick the flow to run. As with REST tools, you can define parameters that the LLM fills in when calling the tool.
A flow can also be invoked from another flow without defining a Tool — via a Tool node or an API request node whose type is set to Flow. See Call tool node.
How a flow tool runs
- Input. The flow inherits the caller's variables and conversation data, plus the tool's parameters. On a name collision, the tool's parameters win.
- Output. The flow starts with an empty variable set, so the variables it adds or changes are returned to the caller as the tool response. The tool's response reshape and max response length still apply.
- No talking, no waiting. The flow never speaks and never waits for user input:
conversationnodes do not speak (neitherpromptnorsaymode) and immediately take a transition — logical conditions are evaluated; otherwise the first / empty /(Else)transition is used.toolandAPI requestnodes run normally.
- Ending. A flow tool should end with an
end callnode.transferandpassnodes are treated the same way — they end the flow and return control to the caller.
Nesting
A flow tool may itself call other flow tools (via its tool / API request nodes), up to a nesting depth of 3.